<?php
	// Classe permettant d'effectuer rapidement certaines tâches nécessaires pour la communication Client/Serveur
	// Cette classe nécessite d'inclure aussi "config.php"
	class XMLcontrol{
		
		// Fonction permettant de valider un document XML à partir d'une DTD
		// $XML est une chaine de caractères contenant le document XML
		// $DTD est le nom du fichier DTD à utiliser (sans chemin ni extension)
		public static function validate($XML,$DTD){
			$doc = new DOMDocument();
			$doc->loadXML($XML);
			
			$implementation = $doc->implementation;
 
			$dtd = $implementation->createDocumentType($doc->firstChild->nodeName,'',DOMAIN.'/php/pack/definitions/'.$DTD);
			 
			$xml = $implementation->createDocument('', '', $dtd);
			$xml->encoding = 'utf-8';
			$xml->appendChild($xml->importNode($doc->firstChild,true));
			
			if(@$xml->validate()) return true;
			return false;
		}
		
		// Fonction créant un DOMDocument conforme à la communication Client/Serveur
		public static function createResponse(){
			$implementation = new DOMImplementation();
 
			$dtd = $implementation->createDocumentType('response','',DOMAIN.'/php/pack/definitions/XMLwritten.php');
			 
			$xml = $implementation->createDocument('', '', $dtd);
			$xml->encoding = 'utf-8';
			
			return $xml;
		}
	}
?>
